W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
{
"pages": [
"pages/todos/todos",
"pages/add-todo/add-todo",
"pages/edit-todo/edit-todo"
]
}
- 關(guān)于 xml 文件,若項(xiàng)目初始化時(shí)選擇的是支付寶 DSL,頁(yè)面的基礎(chǔ)文件可改為 edits-todo.axml
- 關(guān)于 css 文件,MorJS 支持 wxss/acss/less/scss 文件類型,開(kāi)發(fā)者可選擇適合的文件格式進(jìn)行編寫
1. 編輯入口:首頁(yè) src/pages/todos 需要添加一下編輯的入口,修改一下首頁(yè)的樣式,js 中需要增加點(diǎn)擊跳轉(zhuǎn)方法,并把該項(xiàng)的 index 傳給頁(yè)面,用于標(biāo)記哪一項(xiàng)的內(nèi)容需要被編輯。
<!-- src/pages/todos/todos.wxml -->
<label wx:for="{{todos}}" wx:for-item="item" class="todo-item {{item.completed ? 'checked' : ''}}" wx:key="{{index}}">
...
<view class="todo-item-edit" bindtap="editTodo" data-index="{{index}}">編輯</view>
</label>
// src/pages/todos/todos.ts
import { wPage } from '@morjs/core'
wPage({
...,
editTodo(e) {
my.navigateTo({url: `../edit-todo/edit-todo?index=${e.target.targetDataset.index}`})
},
})
/* src/pages/todos/todos.less */
.todo-items {
padding: 50rpx 30rpx;
}
.todo-item {
display: flex;
align-items: center;
}
.todo-item-text {
width: 360rpx;
}
.todo-item-edit {
margin: 0 20rpx;
}
2. 編輯功能:
<!-- src/pages/todos/edit-todos.wxml -->
<view class="page-edit-todo">
<view class="edit-todo">
<input class="edit-todo-input" placeholder="What needs to be done?" bindblur="onBlur" value="{{inputValue}}" />
</view>
<view class="todo-footer">
<add-button text="Edit Todo" onClickMe="edit"></add-button>
</view>
</view>
// src/pages/todos/edit-todos.ts
import { wPage } from '@morjs/core'
const app = getApp()
wPage({
onLoad(query: any): void {
this.setData({
index: query.index,
inputValue: app.todos[query.index].text
})
},
data: {
index: '',
inputValue: ''
},
onBlur(e: any) {
this.setData({
inputValue: e.detail.value
})
},
edit() {
const { index, inputValue } = this.data
app.todos[index].text = inputValue
my.navigateBack()
}
})
/* src/pages/todos/edit-todos.less */
.page-edit-todo {
display: flex;
flex: 1;
flex-direction: column;
}
.edit-todo {
padding: 40px;
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
}
.edit-todo-input {
display: block;
font-size: 50rpx;
font-weight: 100;
padding: 5px 5px;
background: none;
border: none;
border-bottom: 1px solid #dfdfdf;
color: #0effd6;
width: 100%;
}
.todo-footer {
padding: 50rpx 0 100rpx;
font-size: 48rpx;
font-weight: 200;
text-align: center;
}
// src/pages/todos/edit-todos.json
{
"usingComponents": {
"add-button": "/components/add-button/add-button"
}
}
3. 通過(guò)上述流程后,我們?cè)?todo list 的每一項(xiàng)后面都會(huì)有一個(gè)「編輯」按鈕,點(diǎn)擊將會(huì)調(diào)轉(zhuǎn)到編輯頁(yè),修改完內(nèi)容后點(diǎn)擊編輯頁(yè)下方的按鈕即可報(bào)錯(cuò)并回到 todo list 頁(yè),以上,恭喜你學(xué)會(huì)了怎么添加和編輯頁(yè)面代碼!?? ?? ??
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: